home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-06-30 | 47.9 KB | 1,057 lines |
-
- ///¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯ <
- ///
- ///ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Object: MainWin ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ <
- ///
- ///¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ <
- ///
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinStoReq() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ Storage requester. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinStoReq (struct IClass *cl, Object *obj, Msg msg)
- {
- struct rtFileRequester *req;
- UBYTE fname[FMSIZE];
- STRPTR str;
- struct MWData *data = INST_DATA(cl, obj);
-
- if (req = rtAllocRequestA (RT_FILEREQ, NULL))
- {
- *fname = '\0';
- if ((! (str = getstr (data->Storage))) || (! (*str)))
- str = DEF_SYS_DIR;
- rtChangeReqAttr (req, RTFI_Dir, str, TAG_DONE);
- if (rtFileRequest (req, fname,
- GETMES(REQ_SELECT_STORAGE),
- RT_Underscore, '_',
- RTFI_OkText, GETMES(REQ_ACCEPT_BUT),
- RTFI_Flags, FREQF_NOFILES,
- TAG_MORE, hooktags))
- {
- set (data->Storage, MUIA_String_Contents, req->Dir);
- strcpy (fname, req->Dir);
- }
- rtFreeRequest (req);
- }
- else
- MakeRequest (REQ_TITLE_ERROR, OUT_MEM, CANCEL_BUT, NULL);
- return (0L);
- }
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinPatReq() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ Pattern requester. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinPatReq (struct IClass *cl, Object *obj, Msg msg)
- {
- struct rtFileRequester *req;
- UBYTE fname[FMSIZE];
- UBYTE pat[FMSIZE];
- ULONG fa;
- STRPTR str;
- struct MWData *data = INST_DATA(cl, obj);
-
- if (req = rtAllocRequestA (RT_FILEREQ, NULL))
- {
- *fname = '\0';
- if ((str = getstr (data->Pattern)) && (*str))
- {
- fa = getfa (str);
- if (fa == -1)
- {
- stcgfn (fname, str);
- stcgfp (pat, str);
- str = pat;
- }
- else if (fa == 0)
- {
- stcgfp (pat, str);
- str = pat;
- }
- }
- else
- str = DEF_SYS_DIR;
- rtChangeReqAttr (req, RTFI_Dir, str, TAG_DONE);
- if (rtFileRequest (req, fname,
- GETMES(REQ_SELECT_PATTERN),
- RT_Underscore, '_',
- RTFI_OkText, GETMES(REQ_ACCEPT_BUT),
- RTFI_AllowEmpty, TRUE,
- TAG_MORE, hooktags))
- {
- if (! *fname)
- strcpy (pat, req->Dir);
- else
- strmfp (pat, req->Dir, fname);
- set (data->Pattern, MUIA_String_Contents, pat);
- }
- rtFreeRequest (req);
- }
- else
- MakeRequest (REQ_TITLE_ERROR, OUT_MEM, CANCEL_BUT, NULL);
- return (0L);
- }
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinNewEnv() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ Usage/save of new enveropment. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinNewEnv (struct IClass *cl, Object *obj, Tie *tie)
- {
- STRPTR pat, sto;
- struct MsgPort *comport;
- struct Message *msg;
- struct MWData *data = INST_DATA(cl, obj);
-
- if (data->PNode)
- {
- pat = getstr (data->Pattern);
- sto = getstr (data->Storage);
- if ((pat[0] == '\0') || (sto[0] == '\0'))
- {
- MakeRequest (REQ_TITLE_ERROR, PAT_STORAGE_ERROR, CANCEL_BUT, NULL);
- return (0L);
- }
- }
- if (tie->ID1)
- SaveSets (DEF_ENVARC_FILE, data->PatList);
- SaveSets (DEF_ENV_FILE, data->PatList);
- if (comport = FindPort (COM_PORT_NAME))
- {
- if (msg = AllocVec (sizeof(struct Message), MEMF_PUBLIC | MEMF_CLEAR))
- {
- if (msg->mn_ReplyPort = CreatePort (REPLY_PORT_NAME, 0))
- {
- msg->mn_Node.ln_Type = NT_MESSAGE;
- msg->mn_Node.ln_Name = REPLY_PORT_NAME;
- msg->mn_Length = sizeof(struct Message);
- PutMsg (comport, msg);
- WaitPort (msg->mn_ReplyPort);
- while (GetMsg (msg->mn_ReplyPort));
- DeletePort (msg->mn_ReplyPort);
- }
- else
- MakeRequest (REQ_TITLE_ERROR, CANT_CREATE_PORT, EXIT_BUT, NULL);
- FreeVec (msg);
- }
- else
- MakeRequest (REQ_TITLE_ERROR, OUT_MEM, EXIT_BUT, NULL);
- }
- else
- MakeRequest (REQ_TITLE_ERROR, NO_COMMODITY, EXIT_BUT, NULL);
- DoMethod (AmiMirrorPrefs, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);
- return (0L);
- }
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinMenuSave() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ Save settings from menu. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinMenuSave (struct IClass *cl, Object *obj, Tie *tie)
- {
- struct rtFileRequester *req;
- STRPTR pat, sto;
- BOOL reqOK = TRUE;
- struct MWData *data = INST_DATA(cl, obj);
-
- if (data->PNode)
- {
- pat = getstr (data->Pattern);
- sto = getstr (data->Storage);
- if ((pat[0] == '\0') || (sto[0] == '\0'))
- {
- MakeRequest (REQ_TITLE_ERROR, PAT_STORAGE_ERROR, CANCEL_BUT, NULL);
- return (0L);
- }
- }
- if (tie->ID1 == SAVE_SETS_REQ)
- {
- if (req = rtAllocRequestA (RT_FILEREQ, NULL))
- {
- rtChangeReqAttr (req, RTFI_Dir, data->CurDir, TAG_DONE);
- if (rtFileRequest (req, data->CurFile,
- GETMES(REQ_SELECT_SAVE_FILE),
- RT_Underscore, '_',
- RTFI_OkText, GETMES(REQ_SAVE_BUT),
- RTFI_Flags, FREQF_SAVE,
- TAG_MORE, hooktags))
- strmfp (data->setsfile, strcpy (data->CurDir, req->Dir), data->CurFile);
- else
- reqOK = FALSE;
- rtFreeRequest (req);
- }
- else
- {
- MakeRequest (REQ_TITLE_ERROR, OUT_MEM, CANCEL_BUT, NULL);
- reqOK = FALSE;
- }
- }
- else if (tie->ID1 == SAVE_SETS_DEF)
- strmfp (data->setsfile, DEF_ENVARC_DIR, DEF_SETS_FILE);
- if (reqOK)
- SaveSets (data->setsfile, data->PatList);
- return (0L);
- }
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinMenuOpen() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ Load settings from menu. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinMenuOpen (struct IClass *cl, Object *obj, Tie *tie)
- {
- struct List *BakList;
- struct rtFileRequester *req;
- BOOL reqOK = TRUE;
- struct MWData *data = INST_DATA(cl, obj);
-
- if (tie->ID1)
- {
- if (req = rtAllocRequestA (RT_FILEREQ, NULL))
- {
- rtChangeReqAttr (req, RTFI_Dir, data->CurDir, TAG_DONE);
- if (rtFileRequest (req, data->CurFile,
- GETMES(REQ_SELECT_OPEN_FILE),
- RT_Underscore, '_',
- RTFI_OkText, GETMES(REQ_LOAD_BUT),
- TAG_MORE, hooktags))
- strmfp (data->setsfile, strcpy (data->CurDir, req->Dir), data->CurFile);
- else
- reqOK = FALSE;
- rtFreeRequest (req);
- }
- else
- {
- MakeRequest (REQ_TITLE_ERROR, OUT_MEM, CANCEL_BUT, NULL);
- reqOK = FALSE;
- }
- }
- else
- strmfp (data->setsfile, DEF_ENVARC_DIR, DEF_SETS_FILE);
- if (reqOK)
- {
- if (BakList = AllocVec (sizeof(struct List), MEMF_PUBLIC))
- {
- NewList (BakList);
- if (LoadSets (data->setsfile, BakList))
- {
- FreePatList (PatList);
- PatList = BakList;
- DoMethod (obj, MUIM_MW_Open, FALSE);
- }
- else
- FreePatList (BakList);
- }
- else
- MakeRequest (REQ_TITLE_ERROR, OUT_MEM, CANCEL_BUT, NULL);
- }
- return (0L);
- }
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinPage() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ Control of main window pages. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinPage (struct IClass *cl, Object *obj, Tie *tie)
- {
- struct MWData *data = INST_DATA(cl, obj);
-
- set (data->Page, MUIA_Group_ActivePage, tie->ID1);
- set (data->PatList, MUIA_List_Active, MUIV_List_Active_Off);
- return (0L);
- }
-
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinListEx() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ Move pattern in list. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinListEx (struct IClass *cl, Object *obj, Tie *tie)
- {
- struct MWData *data = INST_DATA(cl, obj);
-
- if (tie->ID1)
- {
- DoMethod (data->PatList, MUIM_List_Exchange, MUIV_List_Exchange_Active, MUIV_List_Exchange_Previous);
- set (data->PatList, MUIA_List_Active, MUIV_List_Active_Up);
- }
- else
- {
- DoMethod (data->PatList, MUIM_List_Exchange, MUIV_List_Exchange_Active, MUIV_List_Exchange_Next);
- set (data->PatList, MUIA_List_Active, MUIV_List_Active_Down);
- }
- return (0L);
- }
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinAccept() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ Accept data from editor. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinAccept (struct IClass *cl, Object *obj, Msg msg)
- {
- STRPTR str, errname, pat, sto;
- struct DeviceList *dl;
- BPTR lock;
- UBYTE dir[FMSIZE];
- UBYTE name[FMSIZE];
- struct MWData *data = INST_DATA(cl, obj);
-
- if (data->PNode)
- {
- pat = getstr (data->Pattern);
- sto = getstr (data->Storage);
- if ((pat[0] == '\0') || (sto[0] == '\0'))
- {
- MakeRequest (REQ_TITLE_ERROR, PAT_STORAGE_ERROR, CANCEL_BUT, NULL);
- set (MainWin, MUIA_Window_ActiveObject, *pat ? data->Storage : data->Pattern);
- return (0L);
- }
- strcpy (dir, pat);
- if (str = strchr (dir, ':'))
- {
- *str = '\0';
- if (dl = getasn (dir))
- {
- switch (dl->dl_Type)
- {
- case DLT_DEVICE:
- errname = GETMES(DEVICE_STR);
- break;
- case DLT_VOLUME:
- errname = NULL;
- break;
- default:
- errname = GETMES(ASSIGN_STR);
- break;
- }
- if (errname)
- {
- str[0] = ':'; str[1] = '\0';
- *name = '\0';
- if (lock = Lock (dir, ACCESS_READ))
- {
- NameFromLock (lock, name, FMSIZE-1);
- UnLock (lock);
- }
- if (*name)
- MakeRequest (REQ_TITLE_ERROR, WRONG_DISKTYPE1_FORMAT, OK_BUT, dir, errname, name);
- else
- MakeRequest (REQ_TITLE_ERROR, WRONG_DISKTYPE2_FORMAT, CANCEL_BUT, dir, errname);
- set (MainWin, MUIA_Window_ActiveObject, data->Pattern);
- return (0L);
- }
- }
- else
- {
- MakeRequest (REQ_TITLE_ERROR, WRONG_DISKTYPE3_FORMAT, CANCEL_BUT, dir);
- set (MainWin, MUIA_Window_ActiveObject, data->Pattern);
- return (0L);
- }
- }
- strcpy (data->PNode->pn_Pattern, pat);
- strcpy (data->PNode->pn_Storage, sto);
- data->PNode->pn_Function = xget (data->Function, MUIA_Cycle_Active);
- data->PNode->pn_PatternMode = xget (data->PatMode, MUIA_Cycle_Active);
- data->PNode->pn_StorageMode = xget (data->StoMode, MUIA_Cycle_Active);
- data->PNode->pn_StorageMethod = xget (data->StoMethod, MUIA_Cycle_Active);
- data->PNode->pn_PerformCheck = xget (data->PCheck, MUIA_Cycle_Active);
- if (data->PNode->pn_UseXPK = xget (data->XpkUse, MUIA_Selected))
- {
- strcpy (data->PNode->pn_XPKName, data->xpkname);
- strcpy (data->PNode->pn_Password, data->password);
- data->PNode->pn_XPKMode = data->step;
- }
- else
- {
- strcpy (data->PNode->pn_XPKName, empty);
- strcpy (data->PNode->pn_Password, empty);
- data->PNode->pn_XPKMode = 0;
- }
- DoMethod (data->PatList, MUIM_List_Redraw, MUIV_List_Redraw_Active);
- }
- return (0L);
- }
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinDelPattern() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ Delete pattern from list. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinDelPattern (struct IClass *cl, Object *obj, Msg msg)
- {
- struct MWData *data = INST_DATA(cl, obj);
-
- Remove ((struct Node *)(data->PNode));
- FreeVec (data->PNode);
- data->PNode = NULL;
- DoMethod (data->PatList, MUIM_List_Remove, MUIV_List_Remove_Active);
- return (0L);
- }
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinNewPattern() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ Add new pattern to list. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinNewPattern (struct IClass *cl, Object *obj, Msg msg)
- {
- struct MWData *data = INST_DATA(cl, obj);
-
- if (data->PNode = AllocVec (sizeof(struct PatternNode), MEMF_PUBLIC | MEMF_CLEAR))
- {
- strcpy (data->PNode->pn_Pattern, GETMES(NEW_PATTERN_NAME));
- data->PNode->pn_Node.ln_Name = data->PNode->pn_Pattern;
- AddTail (PatList, (struct Node *)(data->PNode));
- DoMethod (data->PatList, MUIM_List_InsertSingle, data->PNode->pn_Node.ln_Name, MUIV_List_Insert_Bottom);
- set (data->PatList, MUIA_List_Active, MUIV_List_Active_Bottom);
- }
- else
- MakeRequest (REQ_TITLE_ERROR, OUT_MEM, CANCEL_BUT, NULL);
- return (0L);
- }
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinListSelect() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ USer selects pattern in the list. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinListSelect (struct IClass *cl, Object *obj, Msg msg)
- {
- STRPTR str;
- struct Node *node;
- struct MWData *data = INST_DATA(cl, obj);
-
- data->PNode = NULL;
- DoMethod (data->PatList, MUIM_List_GetEntry, MUIV_List_GetEntry_Active, &str);
- if (str)
- {
- node = PatList->lh_Head;
- while (node->ln_Succ)
- {
- if (((struct PatternNode *)node)->pn_Node.ln_Name == str)
- {
- data->PNode = (struct PatternNode *)node;
- break;
- }
- node = node->ln_Succ;
- }
- }
- if (data->PNode)
- {
- set (data->Editor, MUIA_Disabled, FALSE);
- set (data->Page, MUIA_Group_ActivePage,EDITOR_PAGE);
- set (data->Pattern, MUIA_String_Contents, data->PNode->pn_Pattern);
- set (data->Storage, MUIA_String_Contents, data->PNode->pn_Storage);
- set (data->Function, MUIA_Cycle_Active, data->PNode->pn_Function);
- set (data->PatMode, MUIA_Cycle_Active, data->PNode->pn_PatternMode);
- set (data->StoMode, MUIA_Cycle_Active, data->PNode->pn_StorageMode);
- set (data->StoMethod, MUIA_Cycle_Active, data->PNode->pn_StorageMethod);
- set (data->PCheck, MUIA_Cycle_Active, data->PNode->pn_PerformCheck);
- set (data->XpkName, MUIA_Text_Contents, strcpy (data->xpkname, data->PNode->pn_XPKName));
- data->step = data->PNode->pn_XPKMode;
- strcpy (data->password, data->PNode->pn_Password);
- set (data->XpkUse, MUIA_Selected, data->PNode->pn_UseXPK);
- set (obj, MUIA_Window_ActiveObject, data->Pattern);
- }
- else
- {
- data->PNode = NULL;
- set (obj, MUIA_Window_ActiveObject, MUIV_Window_ActiveObject_None);
- set (data->Editor, MUIA_Disabled, TRUE);
- }
- return (0L);
- }
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinXpkUse() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ Control of check mark "usage XPK". ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinXpkUse (struct IClass *cl, Object *obj, Tie *tie)
- {
- STRPTR txt;
- struct MWData *data = INST_DATA(cl, obj);
-
-
- if (! (tie->ID1))
- set (data->XpkName, MUIA_Text_Contents, empty);
- else
- {
- txt = (STRPTR)xget (data->XpkName, MUIA_Text_Contents);
- if (! txt[0])
- DoMethod (obj, MUIM_MW_XpkOpen);
- }
- return (0L);
- }
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinXpkClose() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ XPK window was closed. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinXpkClose (struct IClass *cl, Object *obj, Tie *tie)
- {
- STRPTR txt;
- struct MWData *data = INST_DATA(cl, obj);
-
- if (tie->ID1)
- {
- set (data->XpkName, MUIA_Text_Contents, strcpy (data->xpkname, (STRPTR)(tie->ID1)));
- data->step = (UWORD)(tie->ID2);
- strcpy (data->password, (STRPTR)(tie->ID3));
- set (data->XpkUse, MUIA_Selected, TRUE);
- }
- else
- {
- txt = (STRPTR)xget (data->XpkName, MUIA_Text_Contents);
- if (! txt[0])
- set (data->XpkUse, MUIA_Selected, FALSE);
- }
- set (obj, MUIA_Window_Sleep, FALSE);
- return (0L);
- }
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinXpkOpen() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ User wishs to open XPK window. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinXpkOpen (struct IClass *cl, Object *obj, Msg msg)
- {
- struct MWData *data = INST_DATA(cl, obj);
-
- set (obj, MUIA_Window_Sleep, TRUE);
- DoMethod (XpkWin, MUIM_XW_Open, data->xpkname, data->step, data->password);
- return (0L);
- }
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinOpen() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ Main window is opened/full redrawed here. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinOpen (struct IClass *cl, Object *obj, Tie *tie)
- {
- struct Node *node;
- struct MWData *data = INST_DATA(cl, obj);
-
- set (data->PatList, MUIA_List_Quiet, TRUE);
- DoMethod (data->PatList, MUIM_List_Clear);
- node = PatList->lh_Head;
-
- while (node->ln_Succ)
- {
- DoMethod (data->PatList, MUIM_List_InsertSingle, node->ln_Name, MUIV_List_Insert_Bottom);
- node = node->ln_Succ;
- }
- set (data->Editor, MUIA_Disabled, TRUE);
- set (data->PatList, MUIA_List_Quiet, FALSE);
- if (tie->ID1)
- {
- set (obj, MUIA_Window_Open, TRUE);
- if (xget (obj, MUIA_Window_Open))
- {
- hooktags[0].ti_Data = xget (obj, MUIA_Window_Window);
- ReqHook.h_Entry = (HOOKFUNC)IntuiRefresh;
- hooktags[2].ti_Data = (ULONG)(&ReqHook);
- }
- else
- {
- DoMethod (AmiMirrorPrefs, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);
- return (0L);
- }
- }
- set (obj, MUIA_Window_ActiveObject, data->PatLView);
- return (0L);
- }
-
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinClose() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ User wishs to exit from program. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinClose (struct IClass *cl, Object *obj, Msg msg)
- {
- DoMethod (AmiMirrorPrefs, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);
- return (0L);
- }
-
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinNew() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ Main window initialization due OM_NEW. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG MainWinNew (struct IClass *cl, Object *obj, struct opSet *msg)
- {
- struct MWData *data;
- ULONG count;
- STRPTR language, translator;
- UBYTE lang[256];
- Object *Menu, *Page, *ProgInfo, *PatLView, *PatList, *Editor;
- Object *AddBut, *DelBut, *UpBut, *DownBut;
- Object *Pattern, *Storage, *PatPop, *StoPop;
- Object *Function, *PatMode, *StoMode, *StoMethod, *PCheck;
- Object *XpkPop, *XpkName, *XpkUse;
- Object *Work1But, *Work2But, *ProgBut, *SystemBut, *Quit1But, *Quit2But;
- Object *AcceptBut, *CancelBut, *SaveBut, *UseBut, *ExitBut;
-
- // program menu initialization
-
- for (count = 0L; MainWinMenu[count].nm_Type != NM_END; count++)
- {
- if (MainWinMenu[count].nm_UserData)
- {
- MainWinMenu[count].nm_Label = GETMES((ULONG)(MainWinMenu[count].nm_UserData));
- if (MainWinMenu[count].nm_CommKey)
- MainWinMenu[count].nm_CommKey = GETMES((ULONG)(MainWinMenu[count].nm_UserData) + 1);
- }
- }
- // language/translator definition
- if (catalog)
- {
- language = catalog->cat_Language;
- translator = GETMES(TRANSLATORS_STR);
- }
- else
- {
- language = GETMES(BUILTIN_LANGUAGE);
- translator = GETMES(PROG_AUTHOR);
- }
- strcpy (lang, language);
- if (LocaleBase)
- {
- struct Locale *locale;
- if (locale = OpenLocale (NULL))
- {
- *lang = (UBYTE)ConvToUpper (locale, lang[0]);
- CloseLocale (locale);
- }
- }
-
- // object creation
- obj = (Object *)DoSuperNew (cl,obj,
- MUIA_Window_Title, GETMES(MAINWIN_TITLE),
- MUIA_Window_ID, MAKE_ID('M','A','I','N'),
- MUIA_Window_ScreenTitle, GETMES(PROG_COPYRIGHT),
- MUIA_Window_Menustrip, Menu = MUI_MakeObject (MUIO_MenustripNM, MainWinMenu, 0),
- WindowContents, VGroup,
- Child, Page = HGroup,
- MUIA_Group_PageMode, TRUE,
- Child, VGroup,
- Child, ProgInfo = ScrollgroupObject,
- GroupFrameT(GETMES(PROG_INFO_TITLE)),
- MUIA_Scrollgroup_Contents, VGroupV,
- StringFrame,
- MUIA_Background, MUII_RegisterBack,
- Child, CText(empty),
- Child, CHText(GETMES(WELCOME_STR)),
- Child, HGroup,
- Child, HSpace(0),
- Child, FrmPic(AMIR_W, AMIR_H, amir_body, TRUE),
- Child, HSpace(0),
- End,
- Child, CBText(GETMES(PROG_DESC)),
- Child, HGroup,
- Child, HSpace(0),
- Child, Label(GETMES(VERSION_STR)),
- Child, LLabel(GETMES(PROG_VERSION)+20),
- Child, HSpace(0),
- End,
- Child, VSpace(0),
- Child, CText(empty),
- Child, CText(GETMES(SOFT_CREATED_STR)),
- Child, HGroup,
- Child, HSpace(0),
- Child, PicPic(BSS_W, BSS_H, bss_body, TRUE),
- Child, HSpace(0),
- End,
- Child, CText(GETMES(PROG_COPYLEFT)),
- Child, CText(empty),
- Child, CText(GETMES(HEADQUARTERS_STR)),
- Child, CText(empty),
- Child, HGroup,
- Child, HSpace(0),
- Child, ButPic(GLOBE_W, GLOBE_H, globe_body, FALSE),
- Child, Text(GETMES(NET_ADDRESS)),
- Child, HSpace(0),
- Child, ButPic(MAIL_W, MAIL_H, mail_body, TRUE),
- Child, Text(GETMES(SNAPMAIL_ADDRESS)),
- Child, HSpace(0),
- End,
- Child, VSpace(0),
- Child, CText(empty),
- Child, HGroup,
- Child, HSpace(0),
- Child, ButPic(ATO_W, ATO_H, ato_body, TRUE),
- Child, HSpace(0),
- End,
- Child, CText(GETMES(ATO_STR)),
- Child, CText(empty),
- Child, HGroup,
- Child, HSpace(0),
- Child, Label(GETMES(LANGUAGE_STR)),
- Child, LLabel(lang),
- Child, HSpace(0),
- End,
- Child, HGroup,
- Child, HSpace(0),
- Child, Label(GETMES(TRANSLATION_STR)),
- Child, LLabel(translator),
- Child, HSpace(0),
- End,
- Child, VSpace(0),
- Child, CText(empty),
- Child, HGroup,
- Child, HSpace(0),
- Child, ButPic(MUI_W, MUI_H, mui_body, FALSE),
- Child, HSpace(0),
- End,
- Child, CBText(GETMES(MUI_COPYRIGHT)),
- Child, CText(empty),
- End,
- End,
- Child, HGroup, MUIA_Group_SameSize, TRUE,
- Child, Work1But = KeyButton (GETMES(WORK_BUT), GETKEY(WORK_KEY)),
- Child, SystemBut = KeyButton (GETMES(SYSTEM_BUT), GETKEY(SYSTEM_KEY)),
- Child, Quit1But = KeyButton (GETMES(EXIT_BUT), GETKEY(EXIT_KEY)),
- End,
- End,
- Child, VGroup,
- Child, ColGroup(2),
- GroupFrameT(GETMES(SYSTEM_INFO_TITLE)),
- Child, VSpace(0), Child, VSpace(0),
- Child, Label1(GETMES(SYSTEM_ISTR)),
- Child, SText(IdHardware (IDHW_SYSTEM, NULL)),
- Child, Label1(GETMES(CPU_ISTR)),
- Child, SText(IdHardware (IDHW_CPU, NULL)),
- Child, Label1(GETMES(FPU_ISTR)),
- Child, SText(IdHardware (IDHW_FPU, NULL)),
- Child, Label1(GETMES(MMU_ISTR)),
- Child, SText(IdHardware (IDHW_MMU, NULL)),
- Child, Label1(GETMES(OS_ISTR)),
- Child, SText(IdHardware (IDHW_OSVER, NULL)),
- Child, Label1(GETMES(EXEC_ISTR)),
- Child, SText(IdHardware (IDHW_EXECVER, NULL)),
- Child, Label1(GETMES(WB_ISTR)),
- Child, SText(IdHardware (IDHW_WBVER, NULL)),
- Child, Label1(GETMES(CHSET_ISTR)),
- Child, SText(IdHardware (IDHW_CHIPSET, NULL)),
- Child, Label1(GETMES(GFX_ISTR)),
- Child, SText(IdHardware (IDHW_GFXSYS, NULL)),
- Child, Label1(GETMES(CHIP_ISTR)),
- Child, SText(IdHardware (IDHW_CHIPRAM, NULL)),
- Child, Label1(GETMES(FAST_ISTR)),
- Child, SText(IdHardware (IDHW_FASTRAM, NULL)),
- Child, VSpace(0), Child, VSpace(0),
- End,
- Child, HGroup, MUIA_Group_SameSize, TRUE,
- Child, Work2But = KeyButton (GETMES(WORK_BUT), GETKEY(WORK_KEY)),
- Child, ProgBut = KeyButton (GETMES(PROGRAM_BUT), GETKEY(PROGRAM_KEY)),
- Child, Quit2But = KeyButton (GETMES(EXIT_BUT), GETKEY(EXIT_KEY)),
- End,
- End,
- Child, VGroup,
- Child, HGroup,
- Child, VGroup,
- GroupFrameT(GETMES(PATLIST_TITLE)),
- Child, PatLView = ListviewObject,
- MUIA_Listview_List, PatList = ListObject,
- InputListFrame,
- MUIA_List_AutoVisible, TRUE,
- End,
- End,
- Child, HGroup, MUIA_Group_SameSize, TRUE,
- Child, AddBut = KeyButton (GETMES(ADD_BUT), GETKEY(ADD_KEY)),
- Child, DelBut = KeyButton (GETMES(DEL_BUT), GETKEY(DEL_KEY)),
- Child, UpBut = KeyButton (GETMES(UP_BUT), GETKEY(UP_KEY)),
- Child, DownBut = KeyButton (GETMES(DOWN_BUT), GETKEY(DOWN_KEY)),
- End,
- End,
- Child, Editor = VGroup,
- GroupFrameT(GETMES(EDITOR_TITLE)),
- Child, ColGroup(3),
- Child, KeyLabel1(GETMES(PATTERN_STR_STR), GETKEY(PATTERN_STR_KEY)),
- Child, Pattern = KeyString(empty, FMSIZE, GETKEY(PATTERN_STR_KEY)),
- Child, PatPop = PopButton (MUII_PopFile),
- Child, KeyLabel1(GETMES(STORAGE_STR_STR), GETKEY(STORAGE_STR_KEY)),
- Child, Storage = KeyString(empty, FMSIZE, GETKEY(STORAGE_STR_KEY)),
- Child, StoPop = PopButton (MUII_PopDrawer),
- End,
- Child, VSpace(0),
- Child, ColGroup(2),
- Child, KeyLabel1(GETMES(FUNCTION_STR), GETKEY(FUNCTION_KEY)),
- Child, Function = KeyCycle(FunctionName, GETKEY(FUNCTION_KEY)),
- Child, KeyLabel1(GETMES(PATTERN_MODE_STR), GETKEY(PATTERN_MODE_KEY)),
- Child, PatMode = KeyCycle(PatternMode, GETKEY(PATTERN_MODE_KEY)),
- Child, KeyLabel1(GETMES(STORAGE_MODE_STR), GETKEY(STORAGE_MODE_KEY)),
- Child, StoMode = KeyCycle(StorageMode, GETKEY(STORAGE_MODE_KEY)),
- Child, KeyLabel1(GETMES(STORAGE_METHOD_STR), GETKEY(STORAGE_METHOD_KEY)),
- Child, StoMethod = KeyCycle(StorageMethod, GETKEY(STORAGE_METHOD_KEY)),
- Child, KeyLabel1(GETMES(PERFORM_CHECK_STR), GETKEY(PERFORM_CHECK_KEY)),
- Child, PCheck = KeyCycle(PerformCheck, GETKEY(PERFORM_CHECK_KEY)),
- Child, KeyLabel1(GETMES(USE_XPK_STR), GETKEY(USE_XPK_KEY)),
- Child, HGroup,
- Child, XpkUse = KeyCheckMark(FALSE, GETKEY(USE_XPK_KEY)),
- Child, XpkName = TextObject, TextFrame,
- End,
- Child, XpkPop = PopButton (MUII_PopUp),
- End,
- End,
- Child, VSpace(0),
- Child, HGroup, MUIA_Group_SameSize, TRUE,
- Child, AcceptBut = KeyButton (GETMES(ACCEPT_BUT), GETKEY(ACCEPT_KEY)),
- Child, CancelBut = KeyButton (GETMES(CANCEL_BUT), GETKEY(CANCEL_KEY)),
- End,
- End,
- End,
- Child, HGroup, MUIA_Group_SameSize, TRUE,
- Child, SaveBut = KeyButton (GETMES(SAVE_BUT), GETKEY(SAVE_KEY)),
- Child, UseBut = KeyButton (GETMES(USE_BUT), GETKEY(USE_KEY)),
- Child, ExitBut = KeyButton (GETMES(EXIT_BUT), GETKEY(EXIT_KEY)),
- End,
- End,
- End,
- End,
- TAG_DONE);
-
- if (! obj)
- {
- MakeRequest (REQ_TITLE_ERROR, WINDOW_PROBLEM, EXIT_BUT, NULL);
- return (GAME_OVER);
- }
-
- // filling main window data structure
- data = INST_DATA(cl, obj);
- data->PatLView = PatLView; data->PatList = PatList;
- data->Editor = Editor; data->Page = Page;
- data->Pattern = Pattern; data->Storage = Storage;
- data->Function = Function;
- data->PatMode = PatMode; data->StoMode = StoMode;
- data->StoMethod = StoMethod; data->PCheck = PCheck;
- data->XpkUse = XpkUse; data->XpkName = XpkName;
-
- data->PNode = NULL;
- strcpy (data->CurFile, DEF_SETS_FILE);
- strcpy (data->CurDir, DEF_ENVARC_DIR);
-
- // Activate keyboard control
- DoMethod (obj, MUIM_MultiSet, MUIA_CycleChain, TRUE, ProgInfo, Work1But, Work2But, SystemBut, ProgBut, Quit1But, Quit2But, PatLView, AddBut, DelBut, UpBut, DelBut, Pattern, PatPop, Storage, StoPop, Function, PatMode, StoMode, StoMethod, PCheck, XpkUse, XpkPop, AcceptBut, CancelBut, SaveBut, UseBut, ExitBut, NULL);
-
- // Set methods for interface changes
-
- // close with window gadget
- DoMethod (obj, MUIM_Notify, MUIA_Window_CloseRequest, TRUE,
- obj, 1,
- MUIM_MW_Close);
- // close with exit buttons
- DoMethod (ExitBut, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 1,
- MUIM_MW_Close);
- DoMethod (Quit1But, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 1,
- MUIM_MW_Close);
- DoMethod (Quit2But, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 1,
- MUIM_MW_Close);
- // close with menu
- DoMethod ((Object *)DoMethod (Menu, MUIM_FindUData, QUIT_MENU),
- MUIM_Notify,
- MUIA_Menuitem_Trigger,
- MUIV_EveryTime,
- obj, 1,
- MUIM_MW_Close);
- // iconify with menu
- DoMethod ((Object *)DoMethod (Menu, MUIM_FindUData, HIDE_MENU),
- MUIM_Notify,
- MUIA_Menuitem_Trigger,
- MUIV_EveryTime,
- MUIV_Notify_Application, 3,
- MUIM_Set, MUIA_Application_Iconified, TRUE);
- // open XPK window with pop button
- DoMethod (XpkPop, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 1,
- MUIM_MW_XpkOpen);
- // on/off check mark "XPK usage"
- DoMethod (XpkUse, MUIM_Notify, MUIA_Selected,
- MUIV_EveryTime,
- obj, 2,
- MUIM_MW_XpkUse,
- MUIV_TriggerValue);
- // select pattern in the list
- DoMethod (PatList, MUIM_Notify, MUIA_List_Active,
- MUIV_EveryTime,
- obj, 1,
- MUIM_MW_ListSelect);
- // add new pattern into the list
- DoMethod (AddBut, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 1,
- MUIM_MW_NewPattern);
- // delete patten in the list
- DoMethod (DelBut, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 1,
- MUIM_MW_DelPattern);
- // button "Cancel" of Editor
- DoMethod (CancelBut, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 1,
- MUIM_MW_ListSelect);
- // button "Accept" of Editor
- DoMethod (AcceptBut, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 1,
- MUIM_MW_Accept);
- // moving pattern up trough the list
- DoMethod (UpBut, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 2,
- MUIM_MW_ListEx, TRUE);
- // moving pattern down trough the list
- DoMethod (DownBut, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 2,
- MUIM_MW_ListEx, FALSE);
- // go to edit Storage after Pattern
- DoMethod (Pattern, MUIM_Notify, MUIA_String_Acknowledge,
- MUIV_EveryTime,
- obj, 3, MUIM_Set,
- MUIA_Window_ActiveObject, Storage);
- // go to Edit Function after Storage
- DoMethod (Storage, MUIM_Notify, MUIA_String_Acknowledge,
- MUIV_EveryTime,
- obj, 3, MUIM_Set,
- MUIA_Window_ActiveObject, Function);
- // menu "About MUI"
- DoMethod ((Object *)DoMethod (Menu, MUIM_FindUData,MUI_ABOUT_MENU),
- MUIM_Notify,
- MUIA_Menuitem_Trigger,
- MUIV_EveryTime,
- MUIV_Notify_Application, 2,
- MUIM_Application_AboutMUI, obj);
- // menu "MUI settings"
- DoMethod ((Object *)DoMethod (Menu, MUIM_FindUData,MUI_PREFS_MENU),
- MUIM_Notify,
- MUIA_Menuitem_Trigger,
- MUIV_EveryTime,
- MUIV_Notify_Application, 2,
- MUIM_Application_OpenConfigWindow, 0L);
- // menu "About Program"
- DoMethod ((Object *)DoMethod (Menu, MUIM_FindUData, PROGRAM_MENU),
- MUIM_Notify,
- MUIA_Menuitem_Trigger,
- MUIV_EveryTime,
- obj, 2,
- MUIM_MW_Page, ABOUT_PROG_PAGE);
- // menu "About System"
- DoMethod ((Object *)DoMethod (Menu, MUIM_FindUData, SYSTEM_MENU),
- MUIM_Notify,
- MUIA_Menuitem_Trigger,
- MUIV_EveryTime,
- obj, 2,
- MUIM_MW_Page, ABOUT_SYSTEM_PAGE);
- // load settings from menu
- DoMethod ((Object *)DoMethod (Menu, MUIM_FindUData, OPEN_MENU),
- MUIM_Notify,
- MUIA_Menuitem_Trigger,
- MUIV_EveryTime,
- obj, 2,
- MUIM_MW_MenuOpen, TRUE);
- // load default settings from menu
- DoMethod ((Object *)DoMethod (Menu, MUIM_FindUData, LOAD_DEF_MENU),
- MUIM_Notify,
- MUIA_Menuitem_Trigger,
- MUIV_EveryTime,
- obj, 2,
- MUIM_MW_MenuOpen, FALSE);
- // save settings from menu
- DoMethod ((Object *)DoMethod (Menu, MUIM_FindUData, SAVE_MENU),
- MUIM_Notify,
- MUIA_Menuitem_Trigger,
- MUIV_EveryTime,
- obj, 2,
- MUIM_MW_MenuSave, SAVE_SETS_CUR);
- // save settings from menu as default
- DoMethod ((Object *)DoMethod (Menu, MUIM_FindUData, SAVE_DEF_MENU),
- MUIM_Notify,
- MUIA_Menuitem_Trigger,
- MUIV_EveryTime,
- obj, 2,
- MUIM_MW_MenuSave, SAVE_SETS_DEF);
- // save settings from menu with requester
- DoMethod ((Object *)DoMethod (Menu, MUIM_FindUData, SAVE_AS_MENU),
- MUIM_Notify,
- MUIA_Menuitem_Trigger,
- MUIV_EveryTime,
- obj, 2,
- MUIM_MW_MenuSave, SAVE_SETS_REQ);
- // button "Save"
- DoMethod (SaveBut, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 2,
- MUIM_MW_NewEnv, TRUE);
- // button "Use"
- DoMethod (UseBut, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 2,
- MUIM_MW_NewEnv, FALSE);
- // pop button of Pattern
- DoMethod (PatPop, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 1,
- MUIM_MW_PatReq);
- // pop Button of Storage
- DoMethod (StoPop, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 1,
- MUIM_MW_StoReq);
- // buttons "Let me work"
- DoMethod (Work1But, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 2,
- MUIM_MW_Page, EDITOR_PAGE);
- DoMethod (Work2But, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 2,
- MUIM_MW_Page, EDITOR_PAGE);
- // button "About Program"
- DoMethod (ProgBut, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 2,
- MUIM_MW_Page, ABOUT_PROG_PAGE);
- // button "About System"
- DoMethod (SystemBut, MUIM_Notify, MUIA_Pressed, FALSE,
- obj, 2,
- MUIM_MW_Page, ABOUT_SYSTEM_PAGE);
- return ((ULONG)obj);
- }
-
- /* ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ MainWinDispatcher() ª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¯
- ¢ ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ ¢
- ¢ Dispatcher of object MainWin. ¢
- ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´
- */
- ULONG __saveds __asm MainWinDispatcher(REG(a0) struct IClass *cl, REG(a2) Object *obj, REG(a1) Msg msg)
- {
- switch (msg->MethodID)
- {
- case OM_NEW : return (MainWinNew (cl, obj, (APTR)msg));
- case MUIM_MW_Open : return (MainWinOpen (cl, obj, (APTR)msg));
- case MUIM_MW_Close : return (MainWinClose (cl, obj, (APTR)msg));
- case MUIM_MW_XpkUse : return (MainWinXpkUse (cl, obj, (APTR)msg));
- case MUIM_MW_XpkOpen : return (MainWinXpkOpen (cl, obj, (APTR)msg));
- case MUIM_MW_XpkClose : return (MainWinXpkClose (cl, obj, (APTR)msg));
- case MUIM_MW_ListSelect : return (MainWinListSelect (cl, obj, (APTR)msg));
- case MUIM_MW_NewPattern : return (MainWinNewPattern (cl, obj, (APTR)msg));
- case MUIM_MW_DelPattern : return (MainWinDelPattern (cl, obj, (APTR)msg));
- case MUIM_MW_Accept : return (MainWinAccept (cl, obj, (APTR)msg));
- case MUIM_MW_ListEx : return (MainWinListEx (cl, obj, (APTR)msg));
- case MUIM_MW_Page : return (MainWinPage (cl, obj, (APTR)msg));
- case MUIM_MW_MenuOpen : return (MainWinMenuOpen (cl, obj, (APTR)msg));
- case MUIM_MW_MenuSave : return (MainWinMenuSave (cl, obj, (APTR)msg));
- case MUIM_MW_NewEnv : return (MainWinNewEnv (cl, obj, (APTR)msg));
- case MUIM_MW_PatReq : return (MainWinPatReq (cl, obj, (APTR)msg));
- case MUIM_MW_StoReq : return (MainWinStoReq (cl, obj, (APTR)msg));
- }
- return (DoSuperMethodA (cl, obj, msg));
- }
-